/**
 * Sum100.java created by zhangzhidong 
 * at 下午7:39:42 2016年10月12日
 */
package algorithm;

import java.util.ArrayList;

/**
 * @author zhangzhidong<br>
 * comment generated at 2016年10月12日下午7:39:42<br>
 * 
 */
public class Sum100 {
	 private ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
	    public ArrayList<ArrayList<Integer> > FindContinuousSequence(int sum) {
	       ArrayList<Integer> a = new ArrayList<Integer>();
	        get(sum,0,a);
	        return this.list;
	    }
	    public void get(int sum,int cur,ArrayList<Integer> l){
	        if(cur==sum){
				this.list.add((ArrayList)l.clone());
	            l.remove(l.size()-1);
	            return;
	        }else if(cur>sum){
	        	l.remove(l.size()-1);
//	        	l.clear();
	        	return;
	        }
	        int diff = sum - cur;
	        for(int i=1;i<=diff;i++){
				l.add(i);
	            get(sum,cur+i,l);
	          
	        }
	    }
	/**
	 * 下午7:39:42 2016年10月12日
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
			new Sum100().FindContinuousSequence(5);
	}

}
